#!/bin/bash

# 从 Docker 官网 Yum 仓库源安装 Docker

# 移除已存在的 Docker
echo "正在移除已存在的 Docker..."
sudo yum remove -y docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

# 检查 yum-utils 是否已安装
if ! sudo yum list installed yum-utils &> /dev/null
then
    echo "正在安装 yum-utils..."
    if sudo yum install -y yum-utils &> /dev/null
    then
        echo "yum-utils 安装成功。"
    else
        echo "安装 yum-utils 失败。"
        exit 1
    fi
fi

# 添加 Docker 仓库
echo "正在添加 Docker 仓库..."
if sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo &> /dev/null
then
    echo "Docker 仓库添加成功。"
else
    echo "添加 Docker 仓库失败。"
    exit 1
fi

# 安装 Docker
echo "正在安装 Docker..."
if sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin &> /dev/null
then
    echo "Docker安装成功。"
else
    echo "安装 Docker失败。"
    exit 1
fi

# 启动 Docker 服务
echo "正在启动 Docker 服务..."
if sudo systemctl start docker &> /dev/null
then
    echo "Docker 服务启动成功。"
else
    echo "启动 Docker 服务失败。"
    exit 1
fi

# 可选：使 Docker 在系统启动时自动启动
echo "正在设置 Docker 开机自启..."
if sudo systemctl enable docker &> /dev/null
then
    echo "Docker 开机自启设置成功。"
else
    echo "设置 Docker 开机自启失败。"
    exit 1
fi

echo "Docker 安装完成。"
